package nciae.db.service;

import com.baomidou.mybatisplus.extension.service.IService;
import nciae.db.pojo.entity.Project;
import nciae.db.pojo.vo.*;
import nciae.db.common.CommonResult;


import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.List;
import java.util.Map;

public interface ProjectService{
    public CommonResult<List<String>> listProjectName();

    public Project getProjectInfo(Integer projectId);

    public CommonResult<List<Project>> search(String projectName, Integer state, Date startTime, Date endTime, Integer page, Integer size);


    public CommonResult delete(Integer id);


    public List<Project> getAllProjects();

    public DocReportVO getdocReportInfo(Integer projectid, HttpSession session);

    public CommonResult<Boolean> saveDoc_Report(DocReportVO docReportVO, HttpSession session);

    public DocSchemeVO getdocSchemeInfo(Integer projectId, HttpSession session);

    CommonResult<Boolean> saveDoc_Scheme(DocSchemeVO docSchemeVO, HttpSession session);

    DocSurveyVO getdocsurveyInfo(Integer projectId, HttpSession session);

    CommonResult<Boolean> saveDoc_Survey(DocSurveyVO docSurveyVO, HttpSession session);

    CommonResult<Project> save(Project project);

    CommonResult<List<Project>> list();


    Map<String, Integer> getProjectStatusStatistics();

    List<DefaultVersionInfoVO> getVersionInfoDefault(Integer projectId, HttpSession session);

    List<SchemaVersionInfoVO> getSchameVersionInfo(Integer projectId);

    List<ReportVersionInfoVO> getReportVersionInfo(Integer projectId);
}
